package ar.pegasus.clasificador.dao.api.local;

import java.util.List;

import javax.ejb.Local;

import ar.pegasus.clasificador.entidades.Calle;
import ar.pegasus.clasificador.entidades.Seccion;
import ar.pegasus.clasificador.entidades.TramoCalle;
import ar.pegasus.clasificador.entidades.wrappers.CalleWrapper;
import ar.pegasus.clasificador.entidades.wrappers.InterseccionWrapper;
import ar.pegasus.clasificador.entidades.wrappers.TramoCalleWrapper;
import ar.pegasus.framework.dao.api.local.DAOLocal;

@Local
public interface CalleDAOLocal extends DAOLocal<Calle, Integer> {

	boolean chequearCalle(Seccion seccion, String andcond, String andend);

	List<CalleWrapper> getCalles(Seccion seccion, String andcond, String andend);

	List<TramoCalleWrapper> getTramosCalleConLocalidadAltura(int idSeccion, long cod_calle_buscada, long alturaCalle, String paridad);

	List<TramoCalle> getTramosCalleByIdCalle(Seccion seccion, long idCalle);

	List<TramoCalleWrapper> getTramosCalle(int idSeccion, int idCalle);

	List<InterseccionWrapper> getInterseccionesPorLocalidad(int idSeccion, int idCallePrincipal, int idCalleSecundaria);

	List<InterseccionWrapper> getEntreCallesPorLocalidad(int idSeccion,	int idCallePrincipal, int idCalleSecundaria, int idCalleTerciaria);

	List<TramoCalleWrapper> getTramosCalleConAltura(int idSeccion, int idCalleBuscada, long alturaCalle, String paridad);

	List<InterseccionWrapper> getIntersecciones(int idSeccion, int idCallePrincipal, int idCalleSecundaria);

	List<InterseccionWrapper> getEntreCalles(int idSeccion,	int idCallePrincipal, int idCalleSecundaria, int idCalleTerciaria);

}
